const { transcribeAudio } = require('./convert');
const path = require('path');

async function testTranscription() {
  // 测试音频文件路径
  const testAudioFile = "D:\\AI\\AI_CODE\\27_wav_to_txt\\data\\1688857465691038\\ .ZJQ!(7881302273200615)\\voice\\[00001]2025-06-04 14-58-58.wav";
  
  console.log('🧪 开始测试本地 Whisper GPU 加速转录...');
  console.log('📁 测试文件:', path.basename(testAudioFile));
  console.log('🚀 使用模型: small (针对 RTX 3080 优化)');
  
  try {
    console.log('\n⏳ 正在转录音频文件...');
    console.log('💡 如果首次运行，模型下载可能需要几分钟时间');
    
    const startTime = Date.now();
    
    const result = await transcribeAudio(testAudioFile);
    
    const endTime = Date.now();
    const duration = ((endTime - startTime) / 1000).toFixed(2);
    
    console.log('\n✅ 转录成功！');
    console.log('='.repeat(50));
    console.log('📝 转录结果:', result);
    console.log('=' '.repeat(50));
    console.log('⏱️  总耗时:', duration, '秒');
    
    // 性能评估
    if (parseFloat(duration) < 10) {
      console.log('🚀 性能评级: 优秀（GPU 加速生效）');
    } else if (parseFloat(duration) < 30) {
      console.log('👍 性能评级: 良好');
    } else {
      console.log('⚠️  性能评级: 一般（可能未启用 GPU 加速）');
    }
    
    console.log('\n💡 性能优化建议:');
    console.log('- 如果速度较慢，请确保已正确安装 CUDA 版本的 PyTorch');
    console.log('- RTX 3080 预期速度: 10-30 秒音频约 2-5 秒完成转录');
    console.log('- 如需更高精度，可在 convert.js 中将模型改为 "medium" 或 "large"');
    
  } catch (error) {
    console.error('\n❌ 转录失败:', error.message);
    
    if (error.message.includes('Python')) {
      console.log('\n💡 Python 相关问题解决建议:');
      console.log('1. 确保已安装 Python 3.8+ 且已配置环境变量');
      console.log('2. 运行 install_whisper.bat 安装依赖');
      console.log('3. 检查虚拟环境是否正确创建');
    }
    
    if (error.message.includes('whisper') || error.message.includes('torch')) {
      console.log('\n💡 依赖包问题解决建议:');
      console.log('1. 重新运行 install_whisper.bat');
      console.log('2. 手动安装: venv\\Scripts\\activate && pip install openai-whisper torch');
      console.log('3. 检查网络连接，模型首次使用需要下载');
    }
    
    if (error.message.includes('CUDA') || error.message.includes('GPU')) {
      console.log('\n💡 GPU 加速问题解决建议:');
      console.log('1. 确保已安装最新的 NVIDIA 驱动');
      console.log('2. 检查 CUDA 是否正确安装');
      console.log('3. 运行 nvidia-smi 命令检查 GPU 状态');
      console.log('4. 重新运行 install_whisper.bat 安装 CUDA 版本的 PyTorch');
    }
  }
}

// 显示系统信息
async function showSystemInfo() {
  console.log('💻 系统信息检测...');
  console.log('📅 时间:', new Date().toLocaleString());
  console.log('📂 工作目录:', __dirname);
  console.log('');
}

// 运行测试
async function main() {
  await showSystemInfo();
  await testTranscription();
}

main();